Today, in traditional cluster computing methods (i.e., in distributed computer networks as well known in the sense of that term), resources are defined statically or at system-build time. This causes problems in cases where the servers are casually connected or unreliable.
Typically, in a distributed network, tasks or resources need to be apportioned out among participating machines. To the extent a machine is operational within a network, then, it normally will send out a “ballot” during a “voting” process as a constructive step to “request” such an apportionment. Generally, a ballot contains a manifest of the resources being voted on and the vote results from each machine. All the ballots added up will decide which machine will run which resource.
In practice, when votes are undertaken on resource ownership, problems can easily present themselves. For instance, if a relatively complex voting method is used when machines are started, a problem arises in determining which machine(s) participate(s) in the initial voting, and also in finding agreement on a winner without the need for a secondary vote.
A need has been recognized in connection with overcoming such problems and deficiencies.